package com.laihui.http;


import com.laihui.entity.Account;
import com.laihui.entity.AccountLogList;
import com.laihui.entity.ArticleList;
import com.laihui.entity.BankList;
import com.laihui.entity.DeleteBankCard;
import com.laihui.entity.LoanItem;
import com.laihui.entity.LoanList;
import com.laihui.entity.Login;
import com.laihui.entity.MemberBank;
import com.laihui.entity.RealBean;
import com.laihui.entity.RedPacketList;
import com.laihui.entity.RetMap;

import com.laihui.entity.TenderList;
import com.laihui.entity.TenderRecordList;

import com.laihui.model.Recharge;

import java.util.Map;

import retrofit2.http.Field;
import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
import rx.Observable;


public interface ApiService {



    @FormUrlEncoded
    //注册
    @POST("api/register")
    Observable<Login> Register(@FieldMap Map<String, String> map);
    @FormUrlEncoded
    //注册
    @POST("api/member/getRegCode")
    Observable<RetMap> RegisterCode(@FieldMap Map<String, String> map);

    @FormUrlEncoded
    //注册
    @POST("api/member/regcodeValidate")
    Observable<RetMap> regcodeValidate(@FieldMap Map<String, String> map);


    //登录
    @FormUrlEncoded
    @POST("api/loginVerify")
    Observable<Login> login(@FieldMap Map<String, String> map);


    //我的页面
    @FormUrlEncoded
    @POST("api/member/account")
    Observable<Account> getAccount(@FieldMap Map<String, String> map);

    //我的页面
    @FormUrlEncoded
    @POST("api/member/loan/tender")
    Observable<RetMap> doTender(@FieldMap Map<String, String> map);



    //持有中
    @FormUrlEncoded
    @POST("api/member/loan/payed")
    Observable<TenderRecordList> getInvestRecord(@FieldMap Map<String, String> map);




    //判断是否绑卡和已绑定银行卡
    @FormUrlEncoded
    @POST("api/member/isBankBind")
    Observable<MemberBank> isBankBind(@FieldMap Map<String, String> map);



    //获取区列表
    @FormUrlEncoded
    @POST("api/member/bank/save")
    Observable<RetMap> bankSave(@FieldMap Map<String, String> map);


    //获取区列表
    @FormUrlEncoded
    @POST("api/loan/detail")
    Observable<LoanItem> loanDetail(@FieldMap Map<String, String> map);
    //获取区列表
    @FormUrlEncoded
    @POST("api/loan/tenderlist")
    Observable<TenderList> tenderlist(@FieldMap Map<String, String> map);



    //判断是否绑卡和已绑定银行卡
    @FormUrlEncoded
    @POST("api/banklist")
    Observable<BankList> banklist(@FieldMap Map<String, String> map);


    //持有中
    @FormUrlEncoded
    @POST("api/member/loan/biddingAndcollection")
    Observable<TenderRecordList> getBidCol(@FieldMap Map<String, String> map);


    //获提现记录
    @FormUrlEncoded
    @POST("api/member/docash")
    Observable<RetMap> doCash(@FieldMap Map<String, String> map);



    //进入实名认证页面
    @FormUrlEncoded
    @POST("api/member/isReal")
    Observable<RealBean> toReal(@FieldMap Map<String, String> map);


    //进入实名认证页面
    @FormUrlEncoded
    @POST("api//member/passchange")
    Observable<RetMap> passchange(@FieldMap Map<String, String> map);

    //进入实名认证页面
    @FormUrlEncoded
    @POST("api/member/paypasswordchange")
    Observable<RetMap> paypasschange(@FieldMap Map<String, String> map);
    @FormUrlEncoded
    @POST("api/member/account/log")
    Observable<AccountLogList> accountlog(@FieldMap Map<String, String> map);

    //推荐有奖链接
    @FormUrlEncoded
    @POST("api/member/certification")
    Observable<RetMap> certification(@FieldMap Map<String, String> map);


    //红包列表
    @FormUrlEncoded
    @POST("api/member/redpacket/list")
    Observable<RedPacketList> redPacketList(@FieldMap Map<String, String> map);


    //投标红包列表
    @FormUrlEncoded
    @POST("api/member/loan/red/list")
    Observable<RedPacketList> tenderRedPacket(@FieldMap Map<String, String> map);



    //标的列表
    @FormUrlEncoded
    @POST("api/loan/list")
    Observable<LoanList> loanlist(@FieldMap Map<String, String> map);

    //标的列表
    @FormUrlEncoded
    @POST("api/index")
    Observable<com.laihui.entity.Index> indexData(@FieldMap Map<String, String> map);



    //强制解绑银卡
    @FormUrlEncoded
    @POST("api/member/bank/unbind")
    Observable<DeleteBankCard> forceunbindBankCard(@FieldMap Map<String, String> map
            , @Field("imgall") String... imgall);


    //平台公告列表
    @FormUrlEncoded
    @POST("api/article/list")
    Observable<ArticleList> articlelist(@FieldMap Map<String, String> map);

    //平台公告列表
    @FormUrlEncoded
    @POST("api/member/bank/tounbind")
    Observable<RetMap> unbindBankCard(@FieldMap Map<String, String> map);


    @FormUrlEncoded
    //注册
    @POST("onlinereturn/fuyoumobile")
    Observable<RetMap> rechargeNotify(@FieldMap Map<String, String> map);


    @FormUrlEncoded
    @POST("api/member/rechargeRz")
    Observable<Recharge>  rechargeForm(@FieldMap Map<String, String> map);


}

